package j03abstract;
/*
抽象类，不可以new
普通类，是抽象类的真子集

 */
abstract class Animal {
// void eat(){
//     System.out.println("动物吃食物");
// }
    //抽象方法没有方法体，只能出现在抽象类中
    abstract void eat();
}
/*
抽象类中，可以没有抽象方法，也不可new
 */
abstract class A{

}

//如果子类想被new，子类必须实现父类的抽象方法
class Cat extends Animal{
    void eat(){
        System.out.println("猫吃鱼");
    }
}

class J1{
    public static void main(String[] args) {
//        Animal animal = new Animal();
        Cat c1 = new Cat();
        c1.eat();
        Animal a2 = new Cat();
        a2.eat();

//        System.out.println(new A());
    }
}

